/*****************************************************************************
 *   Copyright 2005 Tim A Wang
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 *
 ****************************************************************************/
package com.jb.web.renderer;

import com.jb.web.bean.Button;
import com.jb.web.bean.Form;
import com.jb.web.context.WebContext;

import com.jb.faces.component.UIComponent;


public class ButtonRenderer extends FormItemRenderer {
    public StringBuffer render(WebContext pCtx, UIComponent itemToRender) {
        Button formItem = (Button) itemToRender;
        StringBuffer html = new StringBuffer("");
        Form form = formItem.getForm();
        String fieldName = formItem.getFieldName(pCtx);

        if (isVisible(pCtx, formItem)) {
        /*
            if (form == null) {
                html.append("<FORM ").append(addTagProperty("name", "f" + fieldName, ""))
                    .append(addTagProperty("action", pCtx.getPageName() + ".xsp", "")).append(" method=\"POST\">");
            }*/

            String formAction = (pCtx.isRunTime() || !formItem.isDesignable()) ? formItem.getFormAction() : "";
            html.append("<input ").append(addTagProperty("name", fieldName, null))
                .append(addTagProperty("type", formAction, "button")).append(getEditScript(pCtx, formItem))
                .append(addTagProperty("value", evaluate(pCtx, formItem, formItem.getLabel()), null))
                .append(addTagProperty("class", formItem.getStyleClass(), null)).append(addTagProperty("style",
                    formItem.getStyle(pCtx), null));

            if (pCtx.isRunTime()) {
                html.append(addTagProperty("disabled", formItem.isEnabled() ? "" : "disabled", null));
            }

            html.append(addTagProperty(" size", formItem.getWidth(), null)).append(" />");
/*
            if (form == null) {
                html.append("<input type=\"hidden\" name=\"" + com.jb.web.application.NWConstants.NW_EVENT_SOURCE +
                    "\"  value=\"").append(formItem.getQName()).append("\" />").append("</FORM>");
            }
*/        }

        return html;
    }
}
